In conventional backend data storage systems, data travels from applications to storage devices, and from storage devices to applications based on requests generated by the applications. Requests to store data are generally placed in a queue along with the data to be stored. A dequeuer reads the queue, and places the data directly into a storage device based on the request. Often, the queue cannot be read, and the data cannot be placed in appropriate data storage devices, fast enough to keep up with the requests.
When a new storage device is added to the backend data storage system, applications may require reconfiguration so that data can be stored to the new storage device. Thus, applications that generate the requests and the data may need to be modified, so that they know which storage devices to request for data to be stored in. Such modifications can be time consuming, and cause system down time.